package com.rolerealm.domain.dto;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 会话与消息相关请求/响应DTO
 */
public class ConversationDTOs {

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ConversationCreateRequest {
        @NotNull
        private Long characterId;

        @Size(max = 255)
        private String title;

        @Size(max = 50)
        private String skillType; // qa/lang/creative
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ConversationCreateResponse {
        private Long conversationId;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class MessageRequest {
        @NotNull
        private String content;
    }

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class MessageResponse {
        private Long messageId;
        private String content;
        private String audioUrl;
    }
}


